Large-scale data processing may include parallel processing, which generally involves performing some operation over each element of a large data set simultaneously. The data set may be split into smaller sets, known as “shards,” and processed in parallel by separate processes and/or devices.